1. Field of the Invention
The present invention relates to managing tasks executed by a subsystem, and more particularly to the management by a central processor of a subsystem which processes tasks in real time.
2. Description of Related Art
A system that includes a central processor, possibly operating with a real-time operating system, and a subsystem managed by the processor is typically used in multimedia applications. In particular, the subsystems are used to execute audio or video decompression tasks on data flows (streams).
It is for instance known to manage a video decoder using an STi5580 central processor. Conventionally, the processor sends a task to be executed by the decoder. A flow of elementary subtasks constitutes a task (e.g., for a task of decoding successive images). In practice, the video decoder comprises a digital signal processor (generally referred to as a “DSP”). After the subtask is sent, the subsystem must respond to the central processor, then the central processor sends new subtasks to the subsystem.
This procedure suffers from drawbacks. In particular, it requires the processor to have a very short response time. This implies the use of a high-performance processor and makes its integration more difficult. Moreover, many processor operating systems do not guarantee a sufficiently short response time. These drawbacks are more particularly felt in real-time applications, especially in multimedia applications. Indeed, the playing or recording multimedia data is sometimes significantly disrupted for the user by the operation of the processor.
In addition, the processor's management of responses from the subsystem slows down the execution of other tasks by the processor. The central processor's memory can then be insufficient and cause an erasure of data to be processed. On a separate account, the precision in the timing of subtasks by the subsystem is insufficient.
Multimedia functions such as pause, fast forward, and the like are not easy to manage, and the synchronization of image and sound is also difficult to manage.
These requirements also imply a relatively complex and laborious development, integration, and qualification of the application software.
Real-time management is also difficult to integrate into the subsystem's operating system.